package com.ww.exercise.coroutine

import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.withContext

/**
 * 使用flow处理流式数据（替代Java的Stream + 线程池）
 */
//fun processDataFlow(): Flow<> = flow {
//    val total = 10000
//    val batchSize = 100
//    for (offset in 0 until total step batchSize) {
//        // 每批数据用协程异步处理
//        val batch = withContext(Dispatchers.IO) {
//            // TODO 做具体的事
//        }
//        emit("") // 发送处理结果
//    }
//}.flowOn(Dispatchers.IO) // 指定流的处理线程